1、查找节点的OF函数
Linux内核使用device_node结构体来描述一个节点,此结构体定义在文件include/linux/of.h
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9pbWcyMDIwLmNuYmxvZ3MuY29tL2Jsb2cvMTc2MDkxMS8yMDIwMDUvMTc2MDkxMS0yMDIwMDUwODE3MjMxMTUzMy0xMjExNjgwMDgucG5n?x-oss-process=image/format,png)
1.1. of_find_node_by_name:通过节点名字查找指定节点
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9pbWcyMDIwLmNuYmxvZ3MuY29tL2Jsb2cvMTc2MDkxMS8yMDIwMDUvMTc2MDkxMS0yMDIwMDUwOTA5MjIyOTIzOS02OTYwMzU5OTYucG5n?x-oss-process=image/format,png)
1.2. of_find_node_by_type:通过device_type属性查找指定节点
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9pbWcyMDIwLmNuYmxvZ3MuY29tL2Jsb2cvMTc2MDkxMS8yMDIwMDUvMTc2MDkxMS0yMDIwMDUwOTA5MjYyNDgxOS0xOTc3MzAwOTkucG5n?x-oss-process=image/format,png)
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9pbWcyMDIwLmNuYmxvZ3MuY29tL2Jsb2cvMTc2MDkxMS8yMDIwMDUvMTc2MDkxMS0yMDIwMDUwOTA5MjYzODMyOS0zNzQxNTMwNTcucG5n?x-oss-process=image/format,png)
1.3. of_find_node_by_path:通过路径查找指定节点
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9pbWcyMDIwLmNuYmxvZ3MuY29tL2Jsb2cvMTc2MDkxMS8yMDIwMDUvMTc2MDkxMS0yMDIwMDUwOTA5MjkzMzQ2MS01ODI0OTA0MDAucG5n?x-oss-process=image/format,png)
1.4. of_find_compatible_node:根据device_type和compatible两个属性查找指定节点
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9pbWcyMDIwLmNuYmxvZ3MuY29tL2Jsb2cvMTc2MDkxMS8yMDIwMDUvMTc2MDkxMS0yMDIwMDUwOTA5MzAyMjEwMC0xMjQ1NDg2Mjc3LnBuZw?x-oss-process=image/format,png)
1.5. of_find_matching_node_and_match:通过of_device_id匹配表查找指定节点
2、查找父子节点OF函数
2.1. of_get_parent:获取指定节点的父节点
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9pbWcyMDIwLmNuYmxvZ3MuY29tL2Jsb2cvMTc2MDkxMS8yMDIwMDUvMTc2MDkxMS0yMDIwMDUwOTA5MzQyNjYyNS05NDgzMzIxODkucG5n?x-oss-process=image/format,png)
2.2. of_get_child:获取制定节点的子节点
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9pbWcyMDIwLmNuYmxvZ3MuY29tL2Jsb2cvMTc2MDkxMS8yMDIwMDUvMTc2MDkxMS0yMDIwMDUwOTA5MzIzMzkzMC0xNzAyNzQyMzA0LnBuZw?x-oss-process=image/format,png)
3、提取属性值的OF函数
Linux内核中使用结构体property表示属性,此结构体同样定义在文件include/linux/of.h中
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9pbWcyMDIwLmNuYmxvZ3MuY29tL2Jsb2cvMTc2MDkxMS8yMDIwMDUvMTc2MDkxMS0yMDIwMDUwOTA5NDc0NDIzNi0xODk0MDIxNzU4LnBuZw?x-oss-process=image/format,png)
3.1. of_find_property:查找指定属性
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9pbWcyMDIwLmNuYmxvZ3MuY29tL2Jsb2cvMTc2MDkxMS8yMDIwMDUvMTc2MDkxMS0yMDIwMDUwOTA5MzQ1MDc3NC0xMDY1MDc0MTUxLnBuZw?x-oss-process=image/format,png)
3.2. of_property_count_elems_of_size:获取属性中元素的数量
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9pbWcyMDIwLmNuYmxvZ3MuY29tL2Jsb2cvMTc2MDkxMS8yMDIwMDUvMTc2MDkxMS0yMDIwMDUwOTA5MzU1MjM2OS02NDA4MzM0OTMucG5n?x-oss-process=image/format,png)
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9pbWcyMDIwLmNuYmxvZ3MuY29tL2Jsb2cvMTc2MDkxMS8yMDIwMDUvMTc2MDkxMS0yMDIwMDUwOTA5MzY0MTg4OC0yNDI4Nzc0MTMucG5n?x-oss-process=image/format,png)
3.3. of_property_read_u32_index:从属性中获取指定标号的u32类型数据值
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9pbWcyMDIwLmNuYmxvZ3MuY29tL2Jsb2cvMTc2MDkxMS8yMDIwMDUvMTc2MDkxMS0yMDIwMDUwOTA5MzcyMzU0OS03MDEzOTQwMzkucG5n?x-oss-process=image/format,png)
3.4. of_property_read_u8
of_property_read_u16
of_property_read_u32
of_property_read_u64:分别读取属性中u8、u16、u32、u64类型的数据
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9pbWcyMDIwLmNuYmxvZ3MuY29tL2Jsb2cvMTc2MDkxMS8yMDIwMDUvMTc2MDkxMS0yMDIwMDUwOTA5NDAwNjIyOS00MzgxNTQzNjMucG5n?x-oss-process=image/format,png)
3.5. of_property_read_u8_array
of_property_read_u16_array
of_property_read_u32_array
of_property_read_u64_array:分别读取属性中u8、u16、u32、u64类型的数组数据
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9pbWcyMDIwLmNuYmxvZ3MuY29tL2Jsb2cvMTc2MDkxMS8yMDIwMDUvMTc2MDkxMS0yMDIwMDUwOTA5Mzc1Nzk1NC0zNTUwODE1NzIucG5n?x-oss-process=image/format,png)
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9pbWcyMDIwLmNuYmxvZ3MuY29tL2Jsb2cvMTc2MDkxMS8yMDIwMDUvMTc2MDkxMS0yMDIwMDUwOTA5MzgzNTYzOS0xNTY2MTM3MTA0LnBuZw?x-oss-process=image/format,png)
3.6. of_property_read_string:读取属性中的字符串数据
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9pbWcyMDIwLmNuYmxvZ3MuY29tL2Jsb2cvMTc2MDkxMS8yMDIwMDUvMTc2MDkxMS0yMDIwMDUwOTA5NDAzNzgxNC0zMDczNjEwNTQucG5n?x-oss-process=image/format,png)
3.7. of_n_addr_cells:获取#address-cells属性值
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9pbWcyMDIwLmNuYmxvZ3MuY29tL2Jsb2cvMTc2MDkxMS8yMDIwMDUvMTc2MDkxMS0yMDIwMDUwOTA5NDEwMDkwNC02NTY5MzU0MDQucG5n?x-oss-process=image/format,png)
3.8. of_n_size_cells:获取#size-cells属性值
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9pbWcyMDIwLmNuYmxvZ3MuY29tL2Jsb2cvMTc2MDkxMS8yMDIwMDUvMTc2MDkxMS0yMDIwMDUwOTA5NDExNTU4NC00NzkzMjA0ODUucG5n?x-oss-process=image/format,png)
|